$(function() {
    var currentPage = 1;
    var pageSize = 2;

    function render() {
        $.ajax({
            data: {
                page: currentPage,
                pageSize: pageSize
            },
            type: 'get',
            url: "/category/querySecondCategoryPaging",
            success(res) {
                console.log(res)
                $("tbody").html(template("tmp", res));
                setPage(res.total)
                getPage(res.total);
            }
        });
    }
    render();

    function setPage(total) {
        // 使用插件生成分页标签 
        $("#paginator").bootstrapPaginator({
            bootstrapMajorVersion: 3, //默认是2，如果是bootstrap3版本，这个参数必填
            currentPage: currentPage, //当前页 高亮按钮 
            totalPages: Math.ceil(total / pageSize), //总页数 = Math.ceil(数据库数据总数 / 每页数据条数)
            onPageClicked: function(event, originalEvent, type, page) { //分页按钮被点击事件 
                //为按钮绑定点击事件 page:当前点击的按钮值
                // console.log(page);
                // 1- 改变当前页取值
                currentPage = page;
                // 2- 页面重新渲染
                render();
            }
        });
    };
    // $('.btn-add').click(function(e) {
    //         e.preventDefault();
    //         var str = $(".add-form").serialize();
    //         // console.log(str);
    //     })
    //分页器的生成
    function getPage(total) {
        var html = '';
        var len = Math.ceil(total / 2)
        for (var i = 0; i < len; i++) {
            html += "<li class='single'>" + parseInt(i + 1) + "</li>";
        }
        $('.paging').html(html);
        $('.paging').on("click", '.single', function() {
            $(this).css('background', 'red').siblings().css('background', '')
            var num = parseInt($(this).text());
            currentPage = num;
            render();
        })
    }

    var count = -1;
    $('.left').click(function() {
        count++;
        // console.log($(".paging")[0].offsetLeft)
        fn($(".paging")[0], -30 * count)
    })
    $('.right').click(function() {
        count--;
        // console.log($(".paging")[0].offsetLeft)
        fn($(".paging")[0], -30 * count)
    })

    function fn(el, target) {
        clearInterval(el.timerId);
        el.timerId = setInterval(function() {
            var current = el.offsetLeft;
            var stemp = current < target ? 10 : -10;
            if (Math.abs(target - current) < Math.abs(stemp)) {
                clearInterval(el.timerId);
                el.style.left = target + "px";
            } else {
                current += stemp;
                el.style.left = current + "px";
            }
        }, 20);
    }
    //下拉列表的选择
    $.ajax({
            type: 'get',
            url: '/category/queryTopCategoryPaging',
            dataType: 'json',
            data: {
                page: 1,
                pageSize: 100,
            },
            success: function(res) {
                // console.log(res);
                $('.cate-one-list').html(template('one-list', res));
            }
        })
        //利用事件委托为动态创建的li标签添加点击事件
    $(".cate-one-list").on('click', "li", function() {
            var text = $(this).text();
            $('.cate-span').text(text);
            $('#categoryId').val($(this).data("id"));
            //利用bootstrapValidator对表单进行验证
            $('.add-form').data('bootstrapValidator').updateStatus('categoryId', 'VALID');
        })
        //图片上传功能
    $("#file").fileupload({
        dataType: "json",
        //e：事件对象
        //data：图片上传后的对象，通过data.result.picAddr可以获取上传后的图片地址
        // ajax: success 
        done: function(e, data) { //图片上传完成，服务器返回图片地址是执行 
            // console.log(data.result);
            var url = data.result.picAddr;
            // 2- 在图片上传完成后，进行图片的预览 
            // $('#img')[0].src = url;
            $('#img').attr('src', url);
            // 保存图片的地址到隐藏域 
            $('#brandLogo').val(url);
            //  在图片预览完成后， 恢复图片的状态 
            $('.add-form').data('bootstrapValidator').updateStatus('brandLogo', 'VALID')
        }
    });
    //对表单进行校验，使用插件对表单校验
    $('.add-form').bootstrapValidator({
        //1. 指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
        excluded: [':disabled'],
        //2. 指定校验时的图标显示，默认是bootstrap风格
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        //3. 指定校验字段
        fields: {
            // 一级分类id
            categoryId: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请选择一级分类'
                    }
                }
            },
            // 二级分类名称
            brandName: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入二级分类'
                    }
                }
            },
            // 二级分类logo
            brandLogo: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请上传图片'
                    }
                }
            },
        }
    });
    //表当添加成功的验证
    $('.btn-add').click(function() {
        $('.add-form').on('success.form.bv', function(e) {
            e.preventDefault(); //阻止表单默认行为 
            $.ajax({
                type: 'post',
                url: '/category/addSecondCategory',
                data: $('.add-form').serialize(),
                dataType: 'json',
                success: function(res) {
                    console.log(res);
                    // 页面重新渲染
                    render();
                    // 隐藏模态框
                    $('.modal-add').modal('hide');
                    // 表单重置 reset(); 
                    // 重置数据和样式 
                    $('.add-form').data('bootstrapValidator').resetForm(true);
                    // 手动重置 图片 和 button按钮
                    $('.cate-span').text('请选择一级分类');
                    $('#img').attr('src', './images/孙燕姿3.jpg');
                }
            })
        });
    })
})